In [2]:
from __future__ import print_function
import matplotlib.pyplot as plt
import numpy as np
import os
import sys
import zipfile
from IPython.display import display, Image
from scipy import ndimage
from sklearn.linear_model import LogisticRegression
from six.moves.urllib.request import urlretrieve
from six.moves import cPickle as pickle

from skimage import color, io
from scipy.misc import imresize

np.random.seed(133)

# Config the matplotlib backend as plotting inline in IPython
%matplotlib inline

IMAGE_SIZE = 224

First, load the data from the Kaggle


In [2]:
last_percent_reported = None

def download_progress_hook(count, blockSize, totalSize):
  """A hook to report the progress of a download. This is mostly intended for users with
  slow internet connections. Reports every 1% change in download progress.
  """
  global last_percent_reported
  percent = int(count * blockSize * 100 / totalSize)

  if last_percent_reported != percent:
    if percent % 5 == 0:
      sys.stdout.write("%s%%" % percent)
      sys.stdout.flush()
    else:
      sys.stdout.write(".")
      sys.stdout.flush()
      
    last_percent_reported = percent
        
def maybe_download(filename, url, expected_bytes, force=False):
  """Download a file if not present, and make sure it's the right size."""
  if force or not os.path.exists(filename):
    print('Attempting to download:', filename) 
    filename, _ = urlretrieve(url , filename, reporthook=download_progress_hook)
    print('\nDownload Complete!')
  statinfo = os.stat(filename)
  if statinfo.st_size:# == expected_bytes:
    print('Found and verified', filename)
  else:
    raise Exception(
      'Failed to verify ' + filename + '. Can you get to it with a browser?')
  return filename

test_filename = maybe_download('test.zip', 'https://kaggle2.blob.core.windows.net/competitions-data/kaggle/5441/test.zip?sv=2015-12-11&sr=b&sig=YtsCaH8gL7dObP11aL7iD9VVaJ%2BGtnls3%2FzBiE8vfjE%3D&se=2017-02-26T15%3A55%3A36Z&sp=r', 71303168)
train_filename = maybe_download('train.zip', 'https://kaggle2.blob.core.windows.net/competitions-data/kaggle/5441/train.zip?sv=2015-12-11&sr=b&sig=7UzYtGnmwvxodWZtaMVFjzmfSXLUM%2FMVjOpmtBZId28%3D&se=2017-02-26T16%3A02%3A58Z&sp=r', 566181888)


Found and verified test.zip
Found and verified train.zip

Extract the images


In [3]:
def maybe_extract(filename, force=False):
  root = os.path.splitext(os.path.splitext(filename)[0])[0]  # remove .tar.gz
  if os.path.isdir(root) and not force:
    # You may override by setting force=True.
    print('%s already present - Skipping extraction of %s.' % (root, filename))
  else:
    print('Extracting data from %s. This may take a while. Please wait.' % filename)

    zip = zipfile.ZipFile(filename)
    sys.stdout.flush()
    zip.extractall()
    zip.close()
  return root+'/'
  
train_folder = maybe_extract(train_filename)
test_folder = maybe_extract(test_filename)


train already present - Skipping extraction of train.zip.
test already present - Skipping extraction of test.zip.

Build lists of files and display some random image to verify if it works


In [4]:
train_images = [train_folder+i for i in os.listdir(train_folder)]
#train_labels = ['dog' in i for i in train_images]
#train_dogs =   [train_folder+i for i in os.listdir(train_folder) if 'dog' in i]
#train_cats =   [train_folder+i for i in os.listdir(train_folder) if 'cat' in i]
test_images =  [test_folder+i for i in os.listdir(test_folder)]

random_image=np.random.choice(train_images)
print (random_image)
image=Image(random_image)
display(image)

random_image=np.random.choice(test_images)
print (random_image)
display(Image(random_image))


train/cat.7590.jpg
test/5053.jpg

Now let's see what the images look like. Let's examin their shapes


In [5]:
from PIL import Image as image

dimensions_train = np.matrix([image.open(i).size for i in train_images],dtype=np.float32)
dimensions_test = np.matrix([image.open(i).size for i in test_images])

print(dimensions_train.shape)
print(dimensions_test.shape)


(25000, 2)
(12500, 2)

In [6]:
aspect_train = dimensions_train[:,0]/dimensions_train[:,1]
#print(aspect_train)

print ("Training set:")
print ("min: %s" % np.min(dimensions_train, axis=0))
print ("max: %s" % np.max(dimensions_train, axis=0))
print ("mean: %s" % np.mean(dimensions_train, axis=0))
print ("median: %s" % np.median(dimensions_train, axis=0))
print ("stdev: %s" % np.std(dimensions_train, axis=0))
print ("aspect min: %s" % np.min(aspect_train))
print ("aspect max: %s" % np.max(aspect_train))
print ("aspect mean: %s" % np.mean(aspect_train))
print ("aspect stdev: %s" % np.std(aspect_train))

print ("Test set:")
print ("min: %s" % np.min(dimensions_test, axis=0))
print ("max: %s" % np.max(dimensions_test, axis=0))
print ("mean: %s" % np.mean(dimensions_test, axis=0))
print ("median: %s" % np.median(dimensions_test, axis=0))
print ("stdev: %s" % np.std(dimensions_test, axis=0))


Training set:
min: [[ 42.  32.]]
max: [[ 1050.   768.]]
mean: [[ 404.09902954  360.47808838]]
median: [[ 447.  374.]]
stdev: [[ 109.03631592   97.01548767]]
aspect min: 0.306613
aspect max: 5.90909
aspect mean: 1.1572
aspect stdev: 0.291908
Test set:
min: [[37 44]]
max: [[500 500]]
mean: [[ 404.22448  359.93072]]
median: [[ 447.  374.]]
stdev: [[ 109.32650113   96.75354092]]

In [7]:
plt.hist(aspect_train, bins='auto', log=True) 
plt.title("Aspect ratio Histogram (log scale)")
plt.show()


Let's find images with extreme aspects.

When scaled such images can produce wiered output that can be misleading. Empirically set aspect cutoff to 1:2


In [8]:
low_pct_aspect=np.percentile(aspect_train,0.2)
high_pct_aspect=np.percentile(aspect_train,99.8)
# empirically set aspect cutoff to 1:2
low_pct_aspect=0.5
high_pct_aspect=2.0
low_pct_aspect_indices=[i for i in xrange(len(aspect_train)) if aspect_train[i]<low_pct_aspect]
high_pct_aspect_indices=[i for i in xrange(len(aspect_train)) if aspect_train[i]>high_pct_aspect]

In [9]:
print(low_pct_aspect_indices)

def display_train_image_by_idx(idx):
    display(Image(train_images[idx]))

for i in low_pct_aspect_indices:
    display_train_image_by_idx(i)
    print(aspect_train[i])
    print(train_images[i])


[270, 396, 1059, 2054, 2176, 2370, 2796, 2813, 2814, 3105, 3806, 4022, 4414, 4875, 5141, 5437, 5544, 5629, 6071, 6075, 7243, 7430, 7555, 7959, 8296, 8878, 9060, 9279, 9608, 9668, 10129, 10356, 11126, 11879, 11964, 12079, 12520, 12606, 12950, 13002, 13114, 13575, 13678, 14270, 14988, 15225, 15896, 15927, 15966, 15969, 16428, 17214, 17275, 17420, 17708, 18013, 18304, 18342, 18836, 18929, 18958, 19699, 19725, 20094, 21447, 21646, 21905, 22395, 22505, 23234, 23455, 23583, 24212, 24223, 24352, 24354, 24585]
[[ 0.42399999]]
train/dog.1741.jpg
[[ 0.49098197]]
train/dog.806.jpg
[[ 0.49899799]]
train/cat.7098.jpg
[[ 0.49000001]]
train/cat.3030.jpg
[[ 0.44800001]]
train/cat.9954.jpg
[[ 0.47389558]]
train/dog.5277.jpg
[[ 0.44419643]]
train/dog.3380.jpg
[[ 0.49000001]]
train/dog.1294.jpg
[[ 0.47477746]]
train/dog.7400.jpg
[[ 0.48605579]]
train/dog.7778.jpg
[[ 0.44360903]]
train/dog.8142.jpg
[[ 0.47695389]]
train/cat.9926.jpg
[[ 0.4729459]]
train/dog.1047.jpg
[[ 0.45691383]]
train/cat.5964.jpg
[[ 0.43486974]]
train/dog.5880.jpg
[[ 0.49735451]]
train/dog.12143.jpg
[[ 0.42399999]]
train/dog.1483.jpg
[[ 0.472]]
train/cat.8693.jpg
[[ 0.38660908]]
train/cat.10119.jpg
[[ 0.45691383]]
train/dog.3135.jpg
[[ 0.49498999]]
train/cat.1680.jpg
[[ 0.47695389]]
train/cat.10958.jpg
[[ 0.37593985]]
train/dog.7857.jpg
[[ 0.37089202]]
train/cat.8755.jpg
[[ 0.46245059]]
train/dog.10199.jpg
[[ 0.49399999]]
train/cat.5851.jpg
[[ 0.49653581]]
train/dog.12476.jpg
[[ 0.44999999]]
train/dog.8739.jpg
[[ 0.40681362]]
train/cat.5929.jpg
[[ 0.45535713]]
train/cat.188.jpg
[[ 0.35545024]]
train/cat.5981.jpg
[[ 0.41999999]]
train/cat.8902.jpg
[[ 0.47400001]]
train/dog.10249.jpg
[[ 0.44642857]]
train/dog.3330.jpg
[[ 0.43000001]]
train/cat.1723.jpg
[[ 0.37688443]]
train/cat.664.jpg
[[ 0.368]]
train/cat.11512.jpg
[[ 0.45222929]]
train/dog.7019.jpg
[[ 0.4474273]]
train/cat.12420.jpg
[[ 0.49200001]]
train/cat.1214.jpg
[[ 0.30661324]]
train/dog.10749.jpg
[[ 0.47987616]]
train/cat.3799.jpg
[[ 0.48096192]]
train/dog.418.jpg
[[ 0.37675351]]
train/cat.10988.jpg
[[ 0.47799999]]
train/dog.2011.jpg
[[ 0.48697394]]
train/dog.8635.jpg
[[ 0.48199999]]
train/cat.7855.jpg
[[ 0.44400001]]
train/dog.3139.jpg
[[ 0.45426831]]
train/dog.7294.jpg
[[ 0.45891783]]
train/cat.3370.jpg
[[ 0.46000001]]
train/dog.3863.jpg
[[ 0.46764091]]
train/dog.11945.jpg
[[ 0.4749499]]
train/cat.2193.jpg
[[ 0.48225468]]
train/dog.4331.jpg
[[ 0.42284569]]
train/dog.4712.jpg
[[ 0.48800001]]
train/dog.1286.jpg
[[ 0.49800798]]
train/dog.130.jpg
[[ 0.47999999]]
train/dog.7182.jpg
[[ 0.42484969]]
train/cat.11060.jpg
[[ 0.34999999]]
train/dog.9632.jpg
[[ 0.45089287]]
train/dog.4113.jpg
[[ 0.43799999]]
train/cat.11149.jpg
[[ 0.47600001]]
train/dog.6581.jpg
[[ 0.47682118]]
train/dog.10292.jpg
[[ 0.45673078]]
train/dog.2874.jpg
[[ 0.46399999]]
train/cat.7622.jpg
[[ 0.49794239]]
train/dog.2600.jpg
[[ 0.47999999]]
train/cat.11789.jpg
[[ 0.458]]
train/cat.6232.jpg
[[ 0.49599999]]
train/dog.11953.jpg
[[ 0.46226415]]
train/dog.1985.jpg
[[ 0.44499999]]
train/cat.3567.jpg
[[ 0.49399999]]
train/cat.3098.jpg
[[ 0.47799999]]
train/dog.9088.jpg
[[ 0.42430705]]
train/dog.2503.jpg
[[ 0.40200001]]
train/cat.712.jpg
[[ 0.43086171]]
train/dog.2478.jpg

In [10]:
print (high_pct_aspect_indices)
for i in high_pct_aspect_indices:
    display_train_image_by_idx(i)
    print(aspect_train[i])
    print(train_images[i])


[823, 979, 1164, 1222, 1884, 1998, 2007, 2117, 2446, 2447, 2829, 2832, 3024, 3073, 3451, 3582, 3657, 3788, 4086, 4344, 4418, 4469, 5015, 5353, 5355, 5888, 5931, 6128, 6191, 6588, 6646, 6670, 6731, 6819, 6922, 6971, 6989, 7034, 7452, 7521, 8131, 8235, 8337, 8505, 8540, 8544, 8863, 9038, 9250, 9421, 9499, 9708, 9770, 9847, 9886, 10078, 10090, 10141, 10203, 10423, 11297, 11347, 11636, 11846, 12006, 12104, 12334, 12403, 12429, 12834, 12976, 13082, 13446, 13515, 14576, 14884, 15538, 15543, 15727, 15802, 15838, 16196, 16316, 16371, 16499, 16628, 16772, 16816, 16993, 17046, 17166, 17181, 17274, 17317, 17494, 17633, 17826, 17869, 18213, 18458, 18516, 18671, 18756, 18887, 19339, 19742, 19815, 19998, 20286, 20351, 20376, 20465, 20626, 20664, 21354, 21537, 22173, 22276, 22489, 22617, 22749, 22784, 22822, 23085, 23278, 23454, 23960, 24173, 24176, 24322, 24375, 24540, 24684, 24732, 24990]
[[ 2.46305418]]
train/cat.8868.jpg
[[ 2.12765956]]
train/cat.5371.jpg
[[ 2.44607854]]
train/cat.2783.jpg
[[ 2.18340611]]
train/dog.5714.jpg
[[ 2.4545455]]
train/cat.11520.jpg
[[ 2.36585355]]
train/cat.2663.jpg
[[ 2.05240178]]
train/cat.11287.jpg
[[ 2.11453748]]
train/cat.6984.jpg
[[ 2.38121557]]
train/cat.3188.jpg
[[ 2.06611562]]
train/cat.2877.jpg
[[ 2.04918027]]
train/dog.6122.jpg
[[ 2.80898881]]
train/cat.11255.jpg
[[ 3.22580647]]
train/cat.5773.jpg
[[ 2.0999999]]
train/cat.3604.jpg
[[ 3.37837839]]
train/cat.5351.jpg
[[ 2.88461542]]
train/dog.11526.jpg
[[ 2.09663868]]
train/cat.7569.jpg
[[ 2.06611562]]
train/dog.1796.jpg
[[ 2.2516129]]
train/dog.11104.jpg
[[ 2.70270276]]
train/cat.8542.jpg
[[ 2.56451607]]
train/cat.3543.jpg
[[ 2.01600003]]
train/cat.10622.jpg
[[ 2.28915668]]
train/cat.3637.jpg
[[ 2.20796466]]
train/cat.11214.jpg
[[ 2.29357791]]
train/cat.4261.jpg
[[ 2.5]]
train/dog.9333.jpg
[[ 2.06896544]]
train/cat.4872.jpg
[[ 2.08542705]]
train/cat.10796.jpg
[[ 2.62573099]]
train/cat.9675.jpg
[[ 2.5]]
train/cat.12126.jpg
[[ 2.10970473]]
train/cat.11381.jpg
[[ 2.01010108]]
train/cat.1951.jpg
[[ 2.7472527]]
train/cat.9819.jpg
[[ 2.10084033]]
train/cat.2154.jpg
[[ 2.01209688]]
train/dog.11713.jpg
[[ 2.13247871]]
train/dog.10791.jpg
[[ 2.53299499]]
train/cat.9366.jpg
[[ 2.14857149]]
train/dog.6028.jpg
[[ 2.08333325]]
train/cat.2311.jpg
[[ 2.10526323]]
train/cat.11337.jpg
[[ 2.28310513]]
train/cat.5003.jpg
[[ 2.02150536]]
train/cat.4762.jpg
[[ 2.77777767]]
train/dog.12331.jpg
[[ 2.1144278]]
train/cat.958.jpg
[[ 2.15517235]]
train/cat.7971.jpg
[[ 2.05761313]]
train/cat.2881.jpg
[[ 2.1982379]]
train/dog.9984.jpg
[[ 2.91034484]]
train/cat.12243.jpg
[[ 2.30414748]]
train/cat.11968.jpg
[[ 2.11965823]]
train/cat.3396.jpg
[[ 2.195122]]
train/cat.2885.jpg
[[ 2.44607854]]
train/cat.6017.jpg
[[ 2.41414142]]
train/cat.5507.jpg
[[ 2.39520955]]
train/cat.2919.jpg
[[ 2.15568852]]
train/cat.2139.jpg
[[ 2.2681818]]
train/dog.8360.jpg
[[ 2.12340426]]
train/dog.11519.jpg
[[ 2.20796466]]
train/cat.5496.jpg
[[ 2.37373734]]
train/cat.9445.jpg
[[ 2.20588231]]
train/dog.5746.jpg
[[ 2.16017318]]
train/cat.6734.jpg
[[ 2.25980401]]
train/dog.4282.jpg
[[ 2.12222219]]
train/cat.8744.jpg
[[ 2.40601492]]
train/cat.5531.jpg
[[ 2.1982379]]
train/cat.505.jpg
[[ 2.10084033]]
train/cat.12298.jpg
[[ 3.81578946]]
train/cat.9171.jpg
[[ 2.0151515]]
train/cat.5240.jpg
[[ 2.4702971]]
train/dog.4275.jpg
[[ 2.12765956]]
train/cat.1841.jpg
[[ 2.05349803]]
train/dog.1994.jpg
[[ 2.28899074]]
train/cat.7280.jpg
[[ 2.99401188]]
train/cat.11349.jpg
[[ 2.06198359]]
train/cat.6308.jpg
[[ 2.06198359]]
train/cat.304.jpg
[[ 2.06198359]]
train/cat.4058.jpg
[[ 2.01612902]]
train/cat.1465.jpg
[[ 2.46305418]]
train/dog.6235.jpg
[[ 2.23766828]]
train/cat.424.jpg
[[ 2.7119565]]
train/cat.9552.jpg
[[ 2.01063824]]
train/cat.10867.jpg
[[ 2.53164554]]
train/cat.3054.jpg
[[ 2.63157892]]
train/cat.482.jpg
[[ 2.07100582]]
train/cat.4272.jpg
[[ 2.15086198]]
train/cat.9875.jpg
[[ 2.21777773]]
train/cat.3069.jpg
[[ 2.00803208]]
train/cat.5494.jpg
[[ 2.09663868]]
train/dog.10313.jpg
[[ 2.3300972]]
train/cat.595.jpg
[[ 2.62937069]]
train/cat.5111.jpg
[[ 2.03673458]]
train/cat.6205.jpg
[[ 2.63157892]]
train/cat.11062.jpg
[[ 5.909091]]
train/dog.4367.jpg
[[ 2.03208566]]
train/cat.9359.jpg
[[ 2.52525258]]
train/dog.2537.jpg
[[ 2.77777767]]
train/cat.10192.jpg
[[ 2.20994473]]
train/dog.11382.jpg
[[ 2.840909]]
train/cat.3324.jpg
[[ 2.04081631]]
train/cat.4731.jpg
[[ 2.29007626]]
train/cat.10432.jpg
[[ 2.06611562]]
train/cat.513.jpg
[[ 2.10691833]]
train/cat.3550.jpg
[[ 2.18859649]]
train/dog.6434.jpg
[[ 2.63157892]]
train/cat.11643.jpg
[[ 2.01149416]]
train/dog.3112.jpg
[[ 2.05761313]]
train/cat.1114.jpg
[[ 2.03252029]]
train/cat.6152.jpg
[[ 2.23717952]]
train/cat.744.jpg
[[ 2.02845526]]
train/cat.5921.jpg
[[ 2.05294108]]
train/dog.11819.jpg
[[ 2.28310513]]
train/cat.12391.jpg
[[ 2.2681818]]
train/cat.10754.jpg
[[ 2.12315273]]
train/dog.586.jpg
[[ 2.18681312]]
train/cat.7526.jpg
[[ 2.13571429]]
train/cat.7758.jpg
[[ 2.10526323]]
train/cat.8373.jpg
[[ 2.03673458]]
train/cat.10214.jpg
[[ 2.04081631]]
train/cat.283.jpg
[[ 2.34741783]]
train/cat.3010.jpg
[[ 2.22123885]]
train/dog.516.jpg
[[ 2.67567563]]
train/dog.11248.jpg
[[ 2.09205031]]
train/cat.7296.jpg
[[ 2.22222233]]
train/cat.7527.jpg
[[ 2.12765956]]
train/cat.12344.jpg
[[ 2.173913]]
train/dog.6340.jpg
[[ 2.36966825]]
train/cat.10975.jpg
[[ 2.02083325]]
train/cat.10952.jpg
[[ 2.2681818]]
train/cat.2735.jpg
[[ 2.05045867]]
train/cat.9467.jpg
[[ 2.3359375]]
train/cat.2227.jpg
[[ 2.14354062]]
train/cat.9761.jpg
[[ 2.08333325]]
train/cat.2959.jpg
[[ 2.15053773]]
train/cat.3250.jpg
[[ 2.06185555]]
train/dog.1243.jpg
[[ 2.77222228]]
train/cat.728.jpg

Let's find the smallest images.

When scaled such images produce blured images that can be misleading.


In [11]:
low_pct_dimension=np.percentile(dimensions_train,3,0)
# array([ 163.,  150.])

small_images_indices=[i for i in xrange(len(dimensions_train)) 
                     if dimensions_train[i,0]<low_pct_dimension[0] or dimensions_train[i,1]<low_pct_dimension[1]]

print (small_images_indices)
for i in small_images_indices:
    display_train_image_by_idx(i)
    print(dimensions_train[i])
    print(train_images[i])


[11, 50, 98, 163, 176, 202, 217, 220, 236, 273, 286, 304, 328, 338, 365, 369, 392, 416, 422, 468, 484, 490, 518, 553, 608, 611, 639, 651, 655, 732, 763, 766, 782, 796, 801, 864, 889, 928, 950, 955, 966, 971, 972, 976, 979, 999, 1032, 1044, 1092, 1107, 1111, 1123, 1177, 1221, 1241, 1261, 1294, 1354, 1360, 1383, 1438, 1448, 1455, 1460, 1464, 1466, 1470, 1488, 1498, 1543, 1590, 1616, 1638, 1716, 1740, 1765, 1778, 1804, 1805, 1837, 1869, 1872, 1875, 1877, 1880, 1887, 1937, 1994, 1998, 2036, 2079, 2084, 2089, 2103, 2156, 2164, 2190, 2202, 2243, 2268, 2297, 2303, 2333, 2370, 2422, 2434, 2491, 2544, 2574, 2585, 2608, 2621, 2652, 2657, 2673, 2695, 2710, 2720, 2729, 2736, 2751, 2760, 2764, 2782, 2814, 2890, 2903, 2911, 2919, 2928, 3016, 3024, 3040, 3062, 3072, 3073, 3081, 3082, 3105, 3106, 3111, 3157, 3191, 3201, 3234, 3235, 3287, 3314, 3382, 3389, 3394, 3414, 3429, 3431, 3451, 3461, 3480, 3484, 3530, 3545, 3558, 3582, 3584, 3603, 3623, 3641, 3708, 3743, 3748, 3751, 3821, 3822, 3826, 3838, 3862, 3894, 3916, 3948, 3974, 3986, 3993, 4018, 4081, 4117, 4138, 4148, 4190, 4223, 4226, 4269, 4306, 4314, 4327, 4398, 4418, 4424, 4447, 4469, 4478, 4487, 4537, 4538, 4544, 4596, 4603, 4607, 4622, 4648, 4660, 4696, 4775, 4778, 4815, 4834, 4895, 4955, 5015, 5023, 5029, 5045, 5063, 5128, 5183, 5236, 5248, 5265, 5272, 5306, 5373, 5394, 5420, 5461, 5463, 5499, 5551, 5561, 5619, 5717, 5752, 5773, 5782, 5791, 5801, 5816, 5826, 5837, 5846, 5861, 5862, 5888, 5890, 5901, 5906, 5909, 5931, 5946, 5983, 6010, 6014, 6022, 6050, 6105, 6106, 6110, 6148, 6166, 6178, 6181, 6202, 6219, 6229, 6292, 6323, 6408, 6409, 6420, 6427, 6453, 6501, 6510, 6519, 6521, 6523, 6532, 6538, 6561, 6565, 6588, 6624, 6627, 6635, 6642, 6663, 6667, 6701, 6725, 6733, 6807, 6834, 6849, 6964, 6990, 7047, 7056, 7081, 7089, 7100, 7128, 7148, 7192, 7203, 7227, 7229, 7299, 7360, 7402, 7423, 7431, 7444, 7462, 7521, 7524, 7555, 7563, 7578, 7604, 7629, 7650, 7659, 7709, 7730, 7764, 7765, 7770, 7831, 7843, 7851, 7857, 7886, 7889, 7894, 7927, 7931, 7953, 7959, 7965, 7970, 7994, 8027, 8042, 8106, 8149, 8156, 8175, 8235, 8258, 8266, 8296, 8314, 8337, 8363, 8405, 8414, 8474, 8503, 8540, 8548, 8570, 8572, 8627, 8629, 8634, 8715, 8722, 8725, 8794, 8801, 8814, 8816, 8832, 8875, 8880, 8883, 8920, 8937, 8940, 8960, 9029, 9038, 9041, 9048, 9058, 9066, 9070, 9101, 9110, 9111, 9127, 9188, 9242, 9260, 9279, 9280, 9301, 9315, 9321, 9322, 9329, 9338, 9350, 9397, 9488, 9495, 9519, 9552, 9565, 9574, 9600, 9636, 9663, 9706, 9770, 9782, 9796, 9810, 9820, 9884, 9887, 9896, 9951, 9962, 9971, 9995, 10034, 10119, 10121, 10129, 10176, 10203, 10210, 10211, 10217, 10232, 10240, 10253, 10280, 10355, 10412, 10423, 10463, 10499, 10503, 10518, 10550, 10569, 10631, 10640, 10642, 10686, 10782, 10829, 10833, 10835, 10934, 10997, 11051, 11061, 11161, 11200, 11210, 11223, 11237, 11264, 11265, 11316, 11341, 11415, 11435, 11440, 11443, 11446, 11481, 11505, 11578, 11601, 11615, 11636, 11729, 11838, 11840, 11846, 11898, 11915, 11928, 11929, 11952, 11959, 11998, 12002, 12004, 12010, 12011, 12032, 12036, 12039, 12044, 12050, 12071, 12079, 12083, 12104, 12112, 12117, 12162, 12165, 12194, 12201, 12222, 12261, 12264, 12315, 12334, 12347, 12381, 12383, 12395, 12400, 12402, 12445, 12480, 12508, 12514, 12522, 12634, 12652, 12656, 12661, 12886, 12904, 12927, 12933, 12947, 12974, 12975, 13018, 13030, 13036, 13054, 13087, 13099, 13109, 13111, 13114, 13123, 13151, 13245, 13289, 13293, 13323, 13337, 13350, 13364, 13411, 13414, 13433, 13509, 13575, 13579, 13589, 13597, 13718, 13735, 13741, 13746, 13772, 13874, 13886, 13899, 13912, 13929, 13949, 13955, 13972, 13979, 14031, 14118, 14173, 14174, 14311, 14315, 14345, 14356, 14366, 14408, 14412, 14417, 14418, 14442, 14447, 14501, 14506, 14511, 14529, 14537, 14538, 14541, 14543, 14562, 14563, 14569, 14599, 14647, 14685, 14742, 14744, 14812, 14835, 14836, 14845, 14859, 14888, 14892, 14937, 14944, 15009, 15010, 15017, 15042, 15090, 15093, 15104, 15172, 15201, 15212, 15219, 15252, 15261, 15263, 15308, 15359, 15393, 15405, 15431, 15449, 15461, 15464, 15516, 15537, 15548, 15567, 15635, 15682, 15688, 15692, 15694, 15699, 15711, 15723, 15750, 15753, 15756, 15771, 15777, 15801, 15823, 15833, 15843, 15875, 15935, 15966, 15967, 15982, 16005, 16008, 16010, 16016, 16030, 16034, 16055, 16063, 16089, 16094, 16095, 16119, 16196, 16198, 16265, 16295, 16301, 16324, 16331, 16340, 16357, 16367, 16376, 16391, 16406, 16412, 16423, 16434, 16435, 16446, 16448, 16459, 16466, 16487, 16489, 16557, 16623, 16676, 16688, 16689, 16693, 16717, 16720, 16750, 16763, 16774, 16788, 16815, 16930, 16956, 16967, 16973, 16993, 17046, 17049, 17052, 17073, 17087, 17152, 17168, 17213, 17218, 17242, 17271, 17274, 17287, 17372, 17391, 17407, 17432, 17435, 17469, 17473, 17535, 17632, 17633, 17675, 17679, 17712, 17733, 17783, 17805, 17811, 17813, 17852, 17872, 17926, 17972, 18039, 18071, 18075, 18077, 18148, 18157, 18177, 18207, 18208, 18218, 18229, 18257, 18266, 18304, 18314, 18327, 18353, 18377, 18385, 18430, 18452, 18458, 18474, 18504, 18530, 18547, 18586, 18604, 18613, 18663, 18673, 18719, 18778, 18779, 18799, 18817, 18832, 18899, 18908, 18914, 18958, 18967, 19002, 19019, 19021, 19054, 19065, 19094, 19109, 19110, 19135, 19167, 19178, 19207, 19216, 19229, 19241, 19308, 19325, 19343, 19405, 19407, 19466, 19469, 19470, 19489, 19537, 19558, 19602, 19693, 19696, 19741, 19786, 19789, 19846, 19863, 19878, 19910, 19931, 19959, 19972, 19981, 20034, 20037, 20083, 20094, 20096, 20154, 20172, 20296, 20301, 20304, 20328, 20330, 20340, 20346, 20397, 20408, 20434, 20444, 20460, 20466, 20485, 20504, 20527, 20554, 20601, 20664, 20690, 20723, 20778, 20810, 20823, 20866, 20896, 20910, 20938, 20951, 20952, 20957, 21004, 21019, 21034, 21048, 21194, 21200, 21227, 21237, 21250, 21254, 21278, 21280, 21308, 21319, 21326, 21340, 21351, 21354, 21362, 21409, 21413, 21447, 21473, 21491, 21500, 21530, 21535, 21539, 21561, 21591, 21597, 21628, 21633, 21641, 21665, 21681, 21684, 21829, 21893, 21905, 21906, 21924, 22008, 22015, 22028, 22030, 22077, 22095, 22116, 22197, 22202, 22204, 22210, 22213, 22229, 22280, 22329, 22377, 22530, 22582, 22617, 22631, 22689, 22696, 22718, 22722, 22749, 22767, 22769, 22906, 22971, 23024, 23033, 23035, 23077, 23081, 23091, 23124, 23198, 23228, 23238, 23240, 23270, 23271, 23307, 23322, 23349, 23443, 23455, 23462, 23466, 23517, 23519, 23528, 23540, 23583, 23596, 23608, 23613, 23652, 23661, 23690, 23752, 23762, 23770, 23807, 23859, 23905, 23910, 23948, 23966, 24020, 24028, 24043, 24140, 24149, 24196, 24197, 24203, 24210, 24214, 24264, 24317, 24322, 24331, 24392, 24446, 24454, 24516, 24565, 24574, 24676, 24684, 24688, 24695, 24708, 24709, 24715, 24766, 24791, 24817, 24858, 24872, 24898, 24901, 24904, 24907, 24926, 24969]
[[ 147.  153.]]
train/dog.11651.jpg
[[ 141.  172.]]
train/dog.2374.jpg
[[ 124.  124.]]
train/cat.7208.jpg
[[ 75.  79.]]
train/cat.2095.jpg
[[ 124.  108.]]
train/dog.5045.jpg
[[ 141.  109.]]
train/cat.11161.jpg
[[ 140.  200.]]
train/cat.2577.jpg
[[ 200.  111.]]
train/cat.5928.jpg
[[ 178.  133.]]
train/cat.3468.jpg
[[ 147.  143.]]
train/cat.5390.jpg
[[ 119.  139.]]
train/cat.3167.jpg
[[ 200.  149.]]
train/cat.8877.jpg
[[ 160.  119.]]
train/dog.4950.jpg
[[ 154.  101.]]
train/dog.6685.jpg
[[ 151.  189.]]
train/cat.6484.jpg
[[ 146.  145.]]
train/dog.6051.jpg
[[  98.  190.]]
train/cat.10418.jpg
[[ 150.  112.]]
train/dog.5427.jpg
[[ 149.  197.]]
train/dog.40.jpg
[[ 136.  181.]]
train/dog.8646.jpg
[[ 150.  112.]]
train/dog.1307.jpg
[[ 130.  100.]]
train/dog.3115.jpg
[[ 200.  123.]]
train/cat.11484.jpg
[[ 191.  149.]]
train/cat.3283.jpg
[[ 150.  149.]]
train/cat.11499.jpg
[[ 132.  125.]]
train/dog.6597.jpg
[[ 159.  200.]]
train/cat.1164.jpg
[[ 149.  140.]]
train/cat.1268.jpg
[[ 180.  134.]]
train/cat.4650.jpg
[[ 192.  123.]]
train/cat.4746.jpg
[[ 179.  113.]]
train/cat.8724.jpg
[[ 200.  143.]]
train/dog.11973.jpg
[[ 199.  123.]]
train/cat.6404.jpg
[[ 154.  121.]]
train/dog.6509.jpg
[[ 215.  131.]]
train/cat.9405.jpg
[[ 129.   89.]]
train/dog.5645.jpg
[[ 200.  116.]]
train/dog.1043.jpg
[[ 200.  149.]]
train/dog.3264.jpg
[[ 219.  144.]]
train/cat.5404.jpg
[[ 156.  199.]]
train/dog.1394.jpg
[[ 149.  146.]]
train/cat.10669.jpg
[[ 121.  197.]]
train/cat.950.jpg
[[ 124.  125.]]
train/dog.407.jpg
[[ 170.  126.]]
train/cat.11257.jpg
[[ 300.  141.]]
train/cat.5371.jpg
[[ 128.  199.]]
train/cat.4753.jpg
[[ 204.  116.]]
train/cat.4483.jpg
[[ 118.  182.]]
train/dog.10439.jpg
[[  99.  144.]]
train/dog.7795.jpg
[[ 169.  132.]]
train/cat.7559.jpg
[[ 59.  70.]]
train/dog.2068.jpg
[[ 112.  115.]]
train/cat.6263.jpg
[[ 263.  133.]]
train/cat.7353.jpg
[[ 140.  176.]]
train/dog.3716.jpg
[[ 165.  121.]]
train/dog.10726.jpg
[[ 119.  160.]]
train/dog.8070.jpg
[[ 139.  118.]]
train/cat.5750.jpg
[[ 100.   90.]]
train/dog.6473.jpg
[[ 191.  149.]]
train/cat.10586.jpg
[[ 119.  124.]]
train/dog.6755.jpg
[[ 144.  144.]]
train/dog.1966.jpg
[[ 228.  148.]]
train/cat.1309.jpg
[[ 170.  148.]]
train/cat.9408.jpg
[[ 112.  150.]]
train/cat.12349.jpg
[[ 101.  149.]]
train/dog.6650.jpg
[[ 139.  128.]]
train/dog.2991.jpg
[[ 149.  100.]]
train/cat.2088.jpg
[[ 123.  106.]]
train/cat.8807.jpg
[[ 133.  127.]]
train/cat.880.jpg
[[ 130.  150.]]
train/dog.4598.jpg
[[ 132.   88.]]
train/dog.10274.jpg
[[ 150.  101.]]
train/dog.3536.jpg
[[ 119.  142.]]
train/dog.9897.jpg
[[ 200.  148.]]
train/dog.1596.jpg
[[ 150.  139.]]
train/cat.8221.jpg
[[ 200.  149.]]
train/cat.10987.jpg
[[ 147.  221.]]
train/cat.10150.jpg
[[ 145.  200.]]
train/dog.2073.jpg
[[ 199.  134.]]
train/dog.8715.jpg
[[ 150.  149.]]
train/cat.9395.jpg
[[ 200.  149.]]
train/cat.782.jpg
[[ 84.  95.]]
train/cat.4833.jpg
[[  90.  111.]]
train/cat.1840.jpg
[[ 68.  50.]]
train/dog.3147.jpg
[[ 135.  101.]]
train/dog.11.jpg
[[ 59.  55.]]
train/dog.2188.jpg
[[ 180.  145.]]
train/cat.8191.jpg
[[ 167.  142.]]
train/dog.7544.jpg
[[ 194.   82.]]
train/cat.2663.jpg
[[ 159.  120.]]
train/cat.6900.jpg
[[ 99.  88.]]
train/cat.11094.jpg
[[ 100.   73.]]
train/dog.7893.jpg
[[ 192.  143.]]
train/cat.11193.jpg
[[ 115.  174.]]
train/cat.1986.jpg
[[ 199.  140.]]
train/cat.11229.jpg
[[ 128.  200.]]
train/dog.2689.jpg
[[ 105.  102.]]
train/dog.12265.jpg
[[ 185.  138.]]
train/cat.11172.jpg
[[ 188.  141.]]
train/cat.7358.jpg
[[ 148.  252.]]
train/dog.9890.jpg
[[ 134.  135.]]
train/dog.9871.jpg
[[ 160.  122.]]
train/dog.1820.jpg
[[ 116.  156.]]
train/dog.4274.jpg
[[ 118.  249.]]
train/dog.5277.jpg
[[ 185.  133.]]
train/cat.1789.jpg
[[  99.  193.]]
train/cat.10748.jpg
[[ 139.  137.]]
train/dog.86.jpg
[[ 150.  112.]]
train/dog.3298.jpg
[[ 200.  149.]]
train/cat.4839.jpg
[[ 50.  38.]]
train/dog.10747.jpg
[[ 132.  118.]]
train/dog.11252.jpg
[[ 130.  147.]]
train/cat.3753.jpg
[[ 184.  138.]]
train/dog.7685.jpg
[[ 184.   97.]]
train/dog.7077.jpg
[[ 160.  119.]]
train/cat.933.jpg
[[ 200.  149.]]
train/cat.4431.jpg
[[ 148.  192.]]
train/cat.9834.jpg
[[ 149.  200.]]
train/cat.8811.jpg
[[ 144.  143.]]
train/cat.889.jpg
[[ 180.  126.]]
train/cat.854.jpg
[[ 119.   90.]]
train/dog.4468.jpg
[[ 188.  125.]]
train/dog.7665.jpg
[[  99.  106.]]
train/dog.5152.jpg
[[ 162.  197.]]
train/dog.1957.jpg
[[ 160.  337.]]
train/dog.7400.jpg
[[ 150.  149.]]
train/cat.7196.jpg
[[ 149.  113.]]
train/cat.252.jpg
[[ 65.  46.]]
train/dog.9246.jpg
[[ 124.  200.]]
train/cat.10197.jpg
[[ 199.  148.]]
train/cat.5394.jpg
[[ 175.  144.]]
train/cat.8866.jpg
[[ 300.   93.]]
train/cat.5773.jpg
[[ 118.  139.]]
train/dog.4517.jpg
[[ 110.   96.]]
train/cat.2165.jpg
[[ 135.  134.]]
train/cat.4116.jpg
[[ 294.  140.]]
train/cat.3604.jpg
[[ 113.  149.]]
train/cat.9936.jpg
[[ 191.  142.]]
train/cat.11123.jpg
[[ 122.  251.]]
train/dog.7778.jpg
[[ 199.  103.]]
train/cat.9081.jpg
[[ 89.  90.]]
train/cat.4963.jpg
[[ 50.  49.]]
train/cat.6614.jpg
[[ 161.  184.]]
train/dog.5579.jpg
[[ 114.  149.]]
train/dog.9278.jpg
[[ 109.  125.]]
train/cat.5481.jpg
[[ 107.  102.]]
train/cat.44.jpg
[[ 199.  133.]]
train/cat.9442.jpg
[[ 200.  149.]]
train/dog.6480.jpg
[[ 200.  149.]]
train/cat.12278.jpg
[[ 136.  137.]]
train/cat.2977.jpg
[[ 59.  50.]]
train/dog.8570.jpg
[[ 141.  174.]]
train/cat.6753.jpg
[[ 124.  157.]]
train/cat.3148.jpg
[[ 140.  237.]]
train/cat.6192.jpg
[[ 500.  148.]]
train/cat.5351.jpg
[[ 100.   99.]]
train/dog.2390.jpg
[[ 161.  162.]]
train/cat.3238.jpg
[[ 126.  249.]]
train/cat.2534.jpg
[[ 180.  139.]]
train/dog.9881.jpg
[[ 149.  200.]]
train/cat.3763.jpg
[[ 200.  149.]]
train/cat.5687.jpg
[[ 300.  104.]]
train/dog.11526.jpg
[[ 113.  122.]]
train/dog.531.jpg
[[ 144.  107.]]
train/dog.5793.jpg
[[ 120.  181.]]
train/dog.4297.jpg
[[ 149.  113.]]
train/dog.11609.jpg
[[ 142.  200.]]
train/dog.5693.jpg
[[  99.  100.]]
train/dog.881.jpg
[[ 121.  139.]]
train/cat.4029.jpg
[[ 154.  189.]]
train/cat.8359.jpg
[[ 139.  105.]]
train/cat.11109.jpg
[[ 100.   92.]]
train/cat.7968.jpg
[[ 150.  261.]]
train/dog.10428.jpg
[[ 154.  201.]]
train/dog.6004.jpg
[[ 170.  122.]]
train/cat.9735.jpg
[[ 146.  287.]]
train/dog.1582.jpg
[[ 119.  134.]]
train/dog.7503.jpg
[[ 61.  49.]]
train/dog.2652.jpg
[[ 162.  218.]]
train/dog.2614.jpg
[[ 146.  110.]]
train/cat.11045.jpg
[[ 129.  200.]]
train/dog.1968.jpg
[[ 149.  225.]]
train/cat.11225.jpg
[[  99.  102.]]
train/cat.8534.jpg
[[ 127.  120.]]
train/dog.7729.jpg
[[ 149.  197.]]
train/dog.1721.jpg
[[ 100.   88.]]
train/dog.7378.jpg
[[ 125.  199.]]
train/dog.4776.jpg
[[ 199.  133.]]
train/cat.4235.jpg
[[ 158.  212.]]
train/dog.8555.jpg
[[ 109.   65.]]
train/cat.2691.jpg
[[ 133.  198.]]
train/dog.7827.jpg
[[ 169.   92.]]
train/cat.10335.jpg
[[ 176.  145.]]
train/cat.3528.jpg
[[ 152.  180.]]
train/dog.7963.jpg
[[ 318.  124.]]
train/cat.3543.jpg
[[ 146.  223.]]
train/cat.6739.jpg
[[ 100.   99.]]
train/dog.11221.jpg
[[ 252.  125.]]
train/cat.10622.jpg
[[ 126.  187.]]
train/cat.9848.jpg
[[ 127.  140.]]
train/cat.10786.jpg
[[ 159.  120.]]
train/cat.8307.jpg
[[ 180.  113.]]
train/cat.3773.jpg
[[ 96.  71.]]
train/cat.2753.jpg
[[ 269.  147.]]
train/dog.3355.jpg
[[ 100.   93.]]
train/dog.10729.jpg
[[ 135.  148.]]
train/cat.11604.jpg
[[ 153.  129.]]
train/cat.253.jpg
[[ 160.  106.]]
train/cat.5073.jpg
[[ 149.  101.]]
train/dog.11988.jpg
[[ 141.  179.]]
train/dog.2958.jpg
[[ 159.  233.]]
train/dog.2829.jpg
[[ 215.  148.]]
train/cat.830.jpg
[[ 142.  149.]]
train/cat.4768.jpg
[[ 200.  149.]]
train/cat.8088.jpg
[[ 157.  199.]]
train/dog.50.jpg
[[ 158.  235.]]
train/cat.7110.jpg
[[ 190.   83.]]
train/cat.3637.jpg
[[ 156.  216.]]
train/cat.10997.jpg
[[ 100.  156.]]
train/dog.7202.jpg
[[ 131.  150.]]
train/cat.8959.jpg
[[ 160.  221.]]
train/dog.9376.jpg
[[ 89.  82.]]
train/cat.11091.jpg
[[ 151.  199.]]
train/cat.761.jpg
[[ 123.  144.]]
train/dog.8115.jpg
[[ 180.  137.]]
train/dog.9519.jpg
[[ 147.  187.]]
train/cat.7840.jpg
[[ 162.  240.]]
train/dog.412.jpg
[[ 132.  100.]]
train/dog.4924.jpg
[[ 57.  50.]]
train/dog.2965.jpg
[[ 145.  239.]]
train/cat.5617.jpg
[[ 149.  200.]]
train/cat.4934.jpg
[[ 175.  144.]]
train/cat.5.jpg
[[ 160.  159.]]
train/dog.11379.jpg
[[ 128.   95.]]
train/dog.69.jpg
[[ 154.  110.]]
train/cat.3216.jpg
[[ 118.   98.]]
train/dog.2107.jpg
[[ 149.  200.]]
train/cat.2569.jpg
[[ 140.  189.]]
train/dog.5377.jpg
[[ 159.  120.]]
train/dog.266.jpg
[[ 156.  199.]]
train/cat.551.jpg
[[ 60.  47.]]
train/dog.11686.jpg
[[ 199.  134.]]
train/dog.8569.jpg
[[ 149.  112.]]
train/dog.6664.jpg
[[ 150.  139.]]
train/cat.6944.jpg
[[ 112.  120.]]
train/dog.5797.jpg
[[ 149.  157.]]
train/dog.5862.jpg
[[ 168.  124.]]
train/cat.10735.jpg
[[ 126.  117.]]
train/dog.3504.jpg
[[ 176.  143.]]
train/dog.6855.jpg
[[ 300.  120.]]
train/dog.9333.jpg
[[ 199.  112.]]
train/cat.3758.jpg
[[ 129.  171.]]
train/dog.7300.jpg
[[ 51.  99.]]
train/dog.10225.jpg
[[ 152.  199.]]
train/dog.11722.jpg
[[ 300.  145.]]
train/cat.4872.jpg
[[ 143.  163.]]
train/cat.2359.jpg
[[ 174.  133.]]
train/cat.6459.jpg
[[  91.  144.]]
train/cat.5780.jpg
[[ 154.  200.]]
train/dog.9514.jpg
[[ 100.  101.]]
train/dog.3429.jpg
[[ 196.  147.]]
train/cat.10857.jpg
[[ 122.  141.]]
train/cat.5185.jpg
[[ 159.  135.]]
train/cat.5667.jpg
[[ 199.  118.]]
train/cat.2174.jpg
[[ 120.  159.]]
train/dog.10186.jpg
[[ 59.  70.]]
train/cat.7314.jpg
[[ 149.  131.]]
train/dog.8940.jpg
[[ 119.   80.]]
train/dog.4972.jpg
[[ 119.  113.]]
train/dog.5670.jpg
[[ 159.   98.]]
train/cat.2674.jpg
[[ 200.  149.]]
train/dog.6878.jpg
[[ 134.  169.]]
train/dog.7647.jpg
[[ 59.  36.]]
train/cat.5534.jpg
[[ 254.  147.]]
train/cat.8431.jpg
[[ 152.  199.]]
train/dog.5031.jpg
[[ 159.  120.]]
train/dog.7322.jpg
[[ 124.  125.]]
train/dog.11457.jpg
[[ 119.   90.]]
train/dog.12178.jpg
[[  92.  113.]]
train/dog.4980.jpg
[[ 100.  109.]]
train/cat.10809.jpg
[[ 140.  247.]]
train/dog.2866.jpg
[[ 96.  71.]]
train/dog.7459.jpg
[[ 102.  149.]]
train/dog.2566.jpg
[[ 156.  200.]]
train/cat.2523.jpg
[[ 105.  200.]]
train/cat.4017.jpg
[[ 150.  112.]]
train/dog.730.jpg
[[ 140.  240.]]
train/cat.12157.jpg
[[ 300.  120.]]
train/cat.12126.jpg
[[ 149.  156.]]
train/cat.11511.jpg
[[ 156.  200.]]
train/dog.9255.jpg
[[ 149.  199.]]
train/cat.8384.jpg
[[ 100.   74.]]
train/dog.990.jpg
[[ 135.  179.]]
train/dog.9839.jpg
[[ 149.  150.]]
train/dog.6537.jpg
[[ 60.  89.]]
train/dog.5618.jpg
[[ 136.  240.]]
train/dog.5350.jpg
[[ 149.  138.]]
train/dog.6396.jpg
[[ 158.  280.]]
train/dog.10598.jpg
[[ 155.  200.]]
train/dog.3291.jpg
[[ 118.  198.]]
train/dog.1722.jpg
[[ 60.  39.]]
train/cat.4821.jpg
[[ 109.  151.]]
train/dog.10001.jpg
[[ 162.  242.]]
train/dog.1909.jpg
[[ 150.  105.]]
train/cat.5754.jpg
[[ 159.  120.]]
train/dog.12043.jpg
[[ 154.  149.]]
train/cat.4508.jpg
[[ 200.  149.]]
train/cat.9494.jpg
[[ 120.   89.]]
train/dog.284.jpg
[[ 178.  137.]]
train/dog.3769.jpg
[[ 159.  102.]]
train/cat.7656.jpg
[[ 179.  137.]]
train/cat.934.jpg
[[ 124.  124.]]
train/dog.6512.jpg
[[ 71.  95.]]
train/dog.8987.jpg
[[ 250.  134.]]
train/cat.4022.jpg
[[ 149.  144.]]
train/cat.6044.jpg
[[ 144.  143.]]
train/dog.3136.jpg
[[ 135.  134.]]
train/cat.2354.jpg
[[ 176.  141.]]
train/cat.7806.jpg
[[ 126.  141.]]
train/cat.1880.jpg
[[ 115.  114.]]
train/dog.182.jpg
[[ 200.   95.]]
train/cat.11337.jpg
[[ 138.  108.]]
train/cat.12424.jpg
[[ 150.  399.]]
train/dog.7857.jpg
[[ 117.  136.]]
train/dog.553.jpg
[[ 149.  200.]]
train/cat.10772.jpg
[[ 154.  130.]]
train/cat.3595.jpg
[[ 200.  149.]]
train/cat.4876.jpg
[[ 152.  174.]]
train/dog.9263.jpg
[[ 145.  194.]]
train/cat.3656.jpg
[[ 193.  146.]]
train/cat.4153.jpg
[[ 125.  119.]]
train/cat.8757.jpg
[[  99.  110.]]
train/cat.1726.jpg
[[ 155.  147.]]
train/cat.9978.jpg
[[ 192.  127.]]
train/cat.8622.jpg
[[ 147.  162.]]
train/dog.3553.jpg
[[ 100.  120.]]
train/dog.3805.jpg
[[ 166.  125.]]
train/dog.3845.jpg
[[ 137.  216.]]
train/cat.1347.jpg
[[ 149.  110.]]
train/cat.4360.jpg
[[ 143.  124.]]
train/cat.1507.jpg
[[ 160.  106.]]
train/dog.1012.jpg
[[ 149.  140.]]
train/cat.8027.jpg
[[ 179.  106.]]
train/cat.9851.jpg
[[ 120.   89.]]
train/cat.7630.jpg
[[  79.  213.]]
train/cat.8755.jpg
[[ 138.  187.]]
train/dog.2030.jpg
[[ 167.   86.]]
train/dog.8103.jpg
[[ 139.  232.]]
train/dog.8460.jpg
[[ 134.  200.]]
train/dog.3533.jpg
[[ 95.  72.]]
train/cat.596.jpg
[[ 150.  149.]]
train/dog.10783.jpg
[[ 153.  187.]]
train/dog.3843.jpg
[[ 255.  143.]]
train/cat.11694.jpg
[[ 141.   93.]]
train/dog.7610.jpg
[[ 188.   93.]]
train/cat.4762.jpg
[[ 140.  103.]]
train/dog.4412.jpg
[[ 60.  32.]]
train/cat.6402.jpg
[[ 117.  253.]]
train/dog.10199.jpg
[[ 114.   99.]]
train/dog.9536.jpg
[[ 200.   72.]]
train/dog.12331.jpg
[[ 149.  150.]]
train/cat.11473.jpg
[[ 191.  149.]]
train/cat.284.jpg
[[ 167.  124.]]
train/dog.11326.jpg
[[ 150.  171.]]
train/dog.11711.jpg
[[ 114.  176.]]
train/cat.12392.jpg
[[ 250.  116.]]
train/cat.7971.jpg
[[ 141.  269.]]
train/dog.1899.jpg
[[ 198.  122.]]
train/cat.7305.jpg
[[ 166.  116.]]
train/cat.5820.jpg
[[ 150.  242.]]
train/dog.10534.jpg
[[ 146.  195.]]
train/dog.9606.jpg
[[ 149.  113.]]
train/cat.6699.jpg
[[ 95.  75.]]
train/dog.4134.jpg
[[ 190.  120.]]
train/dog.7458.jpg
[[  99.  119.]]
train/cat.1859.jpg
[[ 150.  142.]]
train/dog.7057.jpg
[[  99.  128.]]
train/cat.2971.jpg
[[ 154.  290.]]
train/cat.154.jpg
[[ 141.  187.]]
train/cat.4846.jpg
[[ 199.  133.]]
train/cat.2225.jpg
[[ 124.   86.]]
train/cat.8848.jpg
[[ 188.  142.]]
train/cat.5338.jpg
[[ 149.  198.]]
train/cat.2087.jpg
[[ 188.  140.]]
train/cat.2083.jpg
[[ 179.  135.]]
train/dog.6820.jpg
[[  80.  119.]]
train/cat.146.jpg
[[ 108.  157.]]
train/cat.9376.jpg
[[ 195.  145.]]
train/dog.12235.jpg
[[ 422.  145.]]
train/cat.12243.jpg
[[  93.  125.]]
train/dog.7127.jpg
[[ 166.  125.]]
train/cat.6442.jpg
[[ 200.  149.]]
train/cat.11613.jpg
[[ 150.   99.]]
train/cat.5529.jpg
[[ 150.  149.]]
train/cat.3380.jpg
[[ 160.  119.]]
train/dog.4348.jpg
[[ 150.  199.]]
train/cat.1614.jpg
[[ 129.  199.]]
train/cat.6857.jpg
[[ 136.  220.]]
train/dog.4034.jpg
[[ 180.  148.]]
train/cat.7214.jpg
[[ 150.  187.]]
train/cat.6086.jpg
[[ 132.  100.]]
train/cat.6702.jpg
[[  90.  200.]]
train/dog.8739.jpg
[[ 170.  147.]]
train/dog.7227.jpg
[[ 129.  199.]]
train/dog.6872.jpg
[[ 200.  149.]]
train/dog.7357.jpg
[[ 168.  140.]]
train/cat.8275.jpg
[[ 181.  133.]]
train/dog.4090.jpg
[[ 150.  117.]]
train/cat.8261.jpg
[[ 100.  111.]]
train/dog.561.jpg
[[ 180.  134.]]
train/dog.11005.jpg
[[ 134.  126.]]
train/cat.4420.jpg
[[ 141.  134.]]
train/dog.6637.jpg
[[ 134.  160.]]
train/cat.4000.jpg
[[ 120.   89.]]
train/dog.4336.jpg
[[ 187.  149.]]
train/dog.12419.jpg
[[ 195.  145.]]
train/dog.3889.jpg
[[ 212.  112.]]
train/cat.3169.jpg
[[ 139.   93.]]
train/cat.2845.jpg
[[ 100.   99.]]
train/dog.1935.jpg
[[ 119.  109.]]
train/cat.5403.jpg
[[ 155.  221.]]
train/dog.482.jpg
[[ 239.   99.]]
train/cat.5507.jpg
[[ 90.  58.]]
train/cat.1423.jpg
[[ 153.  251.]]
train/cat.10025.jpg
[[ 158.  119.]]
train/dog.12395.jpg
[[ 138.  188.]]
train/cat.9927.jpg
[[ 118.  149.]]
train/dog.10168.jpg
[[ 160.  119.]]
train/dog.7637.jpg
[[  96.  150.]]
train/dog.9999.jpg
[[  99.  100.]]
train/cat.9967.jpg
[[ 150.  139.]]
train/cat.3307.jpg
[[ 156.  106.]]
train/cat.5366.jpg
[[  59.  106.]]
train/cat.4577.jpg
[[ 148.  112.]]
train/cat.9615.jpg
[[ 159.  166.]]
train/dog.5402.jpg
[[ 150.  142.]]
train/cat.7184.jpg
[[ 150.  422.]]
train/cat.5981.jpg
[[ 144.  228.]]
train/dog.10144.jpg
[[ 235.   99.]]
train/cat.9445.jpg
[[ 199.  126.]]
train/cat.9753.jpg
[[ 200.  134.]]
train/dog.9252.jpg
[[ 117.  122.]]
train/dog.4394.jpg
[[ 152.  226.]]
train/dog.6343.jpg
[[ 115.  103.]]
train/cat.11942.jpg
[[ 180.  134.]]
train/dog.2143.jpg
[[ 199.  132.]]
train/cat.5586.jpg
[[ 161.  253.]]
train/dog.8097.jpg
[[ 231.  149.]]
train/dog.10179.jpg
[[ 150.   68.]]
train/dog.5746.jpg
[[ 131.  144.]]
train/dog.4334.jpg
[[  98.  161.]]
train/dog.12.jpg
[[ 96.  99.]]
train/cat.5257.jpg
[[ 95.  72.]]
train/dog.10664.jpg
[[ 200.  117.]]
train/dog.1975.jpg
[[ 179.  135.]]
train/dog.7467.jpg
[[ 140.  186.]]
train/dog.11590.jpg
[[ 199.  148.]]
train/dog.10938.jpg
[[ 156.  165.]]
train/cat.9558.jpg
[[ 199.  107.]]
train/dog.5804.jpg
[[ 137.  232.]]
train/dog.4442.jpg
[[ 146.  200.]]
train/dog.983.jpg
[[ 111.  180.]]
train/cat.673.jpg
[[ 135.  143.]]
train/cat.2564.jpg
[[ 139.  109.]]
train/cat.2415.jpg
[[ 240.  149.]]
train/cat.5740.jpg
[[ 149.  114.]]
train/dog.7738.jpg
[[ 150.  213.]]
train/cat.7010.jpg
[[ 124.  129.]]
train/cat.3458.jpg
[[ 200.  110.]]
train/dog.7746.jpg
[[ 181.  135.]]
train/cat.9413.jpg
[[ 149.   97.]]
train/dog.11279.jpg
[[ 100.  110.]]
train/cat.9635.jpg
[[ 200.  149.]]
train/cat.3726.jpg
[[ 130.  175.]]
train/cat.6093.jpg
[[ 149.  165.]]
train/dog.11133.jpg
[[ 133.  166.]]
train/dog.7287.jpg
[[ 152.  199.]]
train/dog.1754.jpg
[[ 150.  149.]]
train/dog.4975.jpg
[[ 199.  141.]]
train/dog.12259.jpg
[[ 150.  149.]]
train/dog.6643.jpg
[[ 150.  112.]]
train/cat.5671.jpg
[[ 133.  200.]]
train/dog.1566.jpg
[[ 155.  168.]]
train/dog.7932.jpg
[[ 153.  169.]]
train/cat.9648.jpg
[[ 125.   93.]]
train/dog.11237.jpg
[[ 140.   92.]]
train/cat.3699.jpg
[[ 191.   90.]]
train/cat.8744.jpg
[[ 193.  145.]]
train/cat.11980.jpg
[[ 200.  120.]]
train/cat.9767.jpg
[[ 139.  232.]]
train/cat.2189.jpg
[[ 320.  133.]]
train/cat.5531.jpg
[[ 149.  200.]]
train/dog.11701.jpg
[[ 100.  149.]]
train/cat.9056.jpg
[[ 119.  100.]]
train/dog.12322.jpg
[[ 112.  165.]]
train/dog.7938.jpg
[[  95.  112.]]
train/dog.8152.jpg
[[ 74.  50.]]
train/dog.1174.jpg
[[ 107.  200.]]
train/cat.12350.jpg
[[ 127.   75.]]
train/cat.3410.jpg
[[ 149.  200.]]
train/dog.819.jpg
[[ 139.  104.]]
train/cat.4921.jpg
[[ 200.  149.]]
train/dog.11158.jpg
[[ 199.  132.]]
train/dog.9643.jpg
[[ 220.  140.]]
train/cat.5049.jpg
[[ 135.  179.]]
train/dog.9889.jpg
[[ 159.  156.]]
train/dog.3802.jpg
[[ 150.  149.]]
train/cat.822.jpg
[[ 69.  52.]]
train/dog.1381.jpg
[[  75.  199.]]
train/cat.664.jpg
[[ 180.  133.]]
train/cat.1435.jpg
[[ 250.  119.]]
train/cat.12298.jpg
[[ 199.  140.]]
train/dog.8615.jpg
[[ 108.  100.]]
train/dog.12223.jpg
[[ 200.  147.]]
train/dog.9128.jpg
[[ 109.  141.]]
train/dog.5171.jpg
[[ 119.  200.]]
train/dog.2788.jpg
[[ 200.  149.]]
train/dog.10523.jpg
[[ 153.  187.]]
train/dog.1439.jpg
[[ 157.  267.]]
train/dog.10741.jpg
[[  85.  149.]]
train/dog.11747.jpg
[[ 149.  258.]]
train/dog.1507.jpg
[[ 145.   38.]]
train/cat.9171.jpg
[[ 200.  137.]]
train/cat.10340.jpg
[[ 130.   99.]]
train/cat.6386.jpg
[[ 108.  183.]]
train/cat.7171.jpg
[[ 149.  113.]]
train/cat.9624.jpg
[[ 200.  132.]]
train/cat.7172.jpg
[[ 138.  224.]]
train/dog.2662.jpg
[[ 150.  199.]]
train/dog.11913.jpg
[[ 143.  121.]]
train/dog.6985.jpg
[[ 145.  140.]]
train/cat.685.jpg
[[ 74.  80.]]
train/cat.8470.jpg
[[ 139.  193.]]
train/dog.12312.jpg
[[ 162.  161.]]
train/cat.4913.jpg
[[ 165.  122.]]
train/cat.1933.jpg
[[ 124.   97.]]
train/cat.8594.jpg
[[ 160.  199.]]
train/dog.297.jpg
[[ 120.   88.]]
train/cat.8749.jpg
[[ 149.  113.]]
train/dog.2780.jpg
[[ 144.  159.]]
train/dog.4639.jpg
[[ 134.  125.]]
train/dog.4630.jpg
[[ 149.  113.]]
train/cat.1267.jpg
[[ 199.  142.]]
train/cat.12205.jpg
[[ 162.  138.]]
train/dog.9200.jpg
[[ 120.  182.]]
train/cat.3402.jpg
[[ 167.  124.]]
train/dog.6112.jpg
[[ 133.  200.]]
train/dog.10343.jpg
[[ 110.  154.]]
train/cat.8998.jpg
[[ 200.  144.]]
train/cat.11707.jpg
[[ 146.  200.]]
train/dog.3232.jpg
[[ 219.  139.]]
train/dog.8099.jpg
[[ 216.  143.]]
train/cat.382.jpg
[[ 153.  499.]]
train/dog.10749.jpg
[[ 149.  150.]]
train/dog.2901.jpg
[[ 161.  120.]]
train/cat.3381.jpg
[[ 135.  179.]]
train/dog.1059.jpg
[[ 143.  150.]]
train/dog.2495.jpg
[[ 149.  119.]]
train/cat.9765.jpg
[[ 120.  141.]]
train/dog.8804.jpg
[[ 159.  149.]]
train/dog.9386.jpg
[[ 200.  146.]]
train/cat.12036.jpg
[[ 188.  145.]]
train/dog.6089.jpg
[[ 120.  164.]]
train/cat.8377.jpg
[[ 181.  144.]]
train/dog.6254.jpg
[[ 155.  117.]]
train/cat.599.jpg
[[ 180.  116.]]
train/cat.273.jpg
[[ 155.  323.]]
train/cat.3799.jpg
[[ 139.  104.]]
train/cat.4819.jpg
[[ 249.  132.]]
train/dog.462.jpg
[[ 149.  145.]]
train/dog.8850.jpg
[[ 150.  199.]]
train/dog.3378.jpg
[[ 150.  300.]]
train/cat.6996.jpg
[[ 94.  69.]]
train/cat.8585.jpg
[[ 154.  110.]]
train/cat.11351.jpg
[[ 159.  153.]]
train/cat.342.jpg
[[ 185.  109.]]
train/cat.1461.jpg
[[ 161.  196.]]
train/cat.549.jpg
[[ 149.  247.]]
train/dog.1420.jpg
[[ 129.  130.]]
train/dog.3255.jpg
[[ 119.  160.]]
train/dog.772.jpg
[[ 108.  196.]]
train/cat.7250.jpg
[[ 149.  200.]]
train/cat.10317.jpg
[[ 200.  132.]]
train/dog.11835.jpg
[[ 124.  182.]]
train/dog.9061.jpg
[[ 149.  191.]]
train/dog.6052.jpg
[[ 160.  120.]]
train/dog.650.jpg
[[ 130.  181.]]
train/dog.7998.jpg
[[ 42.  62.]]
train/dog.10733.jpg
[[ 69.  65.]]
train/dog.7369.jpg
[[ 100.   99.]]
train/dog.1028.jpg
[[ 192.  144.]]
train/dog.1390.jpg
[[ 167.  124.]]
train/cat.10759.jpg
[[ 60.  93.]]
train/dog.9288.jpg
[[  88.  130.]]
train/dog.11184.jpg
[[ 127.  180.]]
train/dog.6616.jpg
[[ 119.  153.]]
train/cat.7349.jpg
[[ 126.  144.]]
train/dog.1723.jpg
[[ 119.   90.]]
train/dog.3088.jpg
[[ 179.  135.]]
train/cat.2213.jpg
[[ 166.  126.]]
train/cat.7558.jpg
[[ 107.  154.]]
train/dog.6059.jpg
[[ 200.  149.]]
train/cat.2602.jpg
[[ 95.  71.]]
train/cat.8138.jpg
[[ 140.  188.]]
train/cat.10675.jpg
[[ 166.  125.]]
train/cat.8668.jpg
[[ 90.  99.]]
train/dog.943.jpg
[[ 161.  214.]]
train/cat.12288.jpg
[[ 103.  150.]]
train/dog.4777.jpg
[[ 162.  145.]]
train/cat.11702.jpg
[[ 143.  122.]]
train/dog.4203.jpg
[[ 140.  143.]]
train/cat.3749.jpg
[[ 140.   92.]]
train/cat.9589.jpg
[[ 120.   89.]]
train/cat.2096.jpg
[[ 159.  120.]]
train/cat.10032.jpg
[[ 149.  239.]]
train/dog.3130.jpg
[[ 180.  147.]]
train/cat.5179.jpg
[[ 149.  150.]]
train/cat.1924.jpg
[[ 154.  180.]]
train/dog.425.jpg
[[ 180.  144.]]
train/dog.6909.jpg
[[ 184.  149.]]
train/dog.10446.jpg
[[ 126.  199.]]
train/cat.8617.jpg
[[ 75.  74.]]
train/dog.8428.jpg
[[ 157.  190.]]
train/dog.7780.jpg
[[ 139.  104.]]
train/dog.4301.jpg
[[ 139.  197.]]
train/cat.1549.jpg
[[ 108.  133.]]
train/dog.11849.jpg
[[ 95.  72.]]
train/dog.9456.jpg
[[ 167.  124.]]
train/cat.3181.jpg
[[ 150.  178.]]
train/dog.5721.jpg
[[ 150.  201.]]
train/dog.10432.jpg
[[ 142.  217.]]
train/dog.12358.jpg
[[ 160.  119.]]
train/dog.9599.jpg
[[ 149.  200.]]
train/cat.12160.jpg
[[ 135.  169.]]
train/dog.6305.jpg
[[ 124.  114.]]
train/dog.5602.jpg
[[ 154.  179.]]
train/dog.3809.jpg
[[ 146.  199.]]
train/cat.3409.jpg
[[ 99.  75.]]
train/dog.10385.jpg
[[ 139.  229.]]
train/cat.9468.jpg
[[ 81.  74.]]
train/cat.7703.jpg
[[ 155.  127.]]
train/cat.2905.jpg
[[ 152.  153.]]
train/cat.1418.jpg
[[ 150.  199.]]
train/dog.6888.jpg
[[ 146.  220.]]
train/cat.3326.jpg
[[ 256.  136.]]
train/dog.3322.jpg
[[ 133.  199.]]
train/dog.9346.jpg
[[ 200.  132.]]
train/dog.7808.jpg
[[ 189.  100.]]
train/cat.11562.jpg
[[ 141.  181.]]
train/cat.10091.jpg
[[ 160.  119.]]
train/dog.10183.jpg
[[ 119.  119.]]
train/dog.11142.jpg
[[ 200.  112.]]
train/cat.2936.jpg
[[  99.  125.]]
train/cat.9595.jpg
[[ 197.  132.]]
train/cat.5550.jpg
[[ 59.  39.]]
train/dog.9705.jpg
[[ 159.  120.]]
train/dog.5592.jpg
[[ 124.  192.]]
train/cat.6784.jpg
[[ 159.  119.]]
train/cat.8122.jpg
[[ 59.  53.]]
train/dog.10654.jpg
[[ 141.  115.]]
train/cat.4842.jpg
[[  99.  100.]]
train/cat.9609.jpg
[[ 154.  176.]]
train/dog.9411.jpg
[[ 217.  120.]]
train/cat.11228.jpg
[[ 133.  151.]]
train/cat.11032.jpg
[[ 180.   99.]]
train/dog.1308.jpg
[[ 175.  132.]]
train/dog.7581.jpg
[[ 149.  126.]]
train/cat.10526.jpg
[[ 105.   89.]]
train/cat.183.jpg
[[ 144.   85.]]
train/cat.10807.jpg
[[ 149.  328.]]
train/dog.7294.jpg
[[ 176.  143.]]
train/cat.2951.jpg
[[ 59.  41.]]
train/cat.2433.jpg
[[ 133.  124.]]
train/cat.4363.jpg
[[ 150.  149.]]
train/cat.11994.jpg
[[ 199.  134.]]
train/cat.214.jpg
[[ 161.  105.]]
train/cat.11072.jpg
[[ 160.  106.]]
train/dog.8315.jpg
[[ 151.  144.]]
train/cat.11177.jpg
[[ 99.  81.]]
train/dog.296.jpg
[[  97.  149.]]
train/dog.2667.jpg
[[ 143.  103.]]
train/dog.6845.jpg
[[ 179.  145.]]
train/dog.3650.jpg
[[ 173.  131.]]
train/cat.3745.jpg
[[ 106.  143.]]
train/cat.10250.jpg
[[ 200.   79.]]
train/cat.3054.jpg
[[ 150.  166.]]
train/cat.1369.jpg
[[ 149.  168.]]
train/cat.3845.jpg
[[ 149.  139.]]
train/dog.11608.jpg
[[ 150.  149.]]
train/dog.5796.jpg
[[  89.  139.]]
train/dog.5397.jpg
[[ 200.  149.]]
train/cat.2550.jpg
[[ 175.  144.]]
train/cat.8078.jpg
[[ 200.  107.]]
train/dog.11333.jpg
[[ 258.  144.]]
train/dog.6475.jpg
[[ 120.   89.]]
train/dog.316.jpg
[[ 160.  119.]]
train/cat.3067.jpg
[[ 160.  119.]]
train/cat.7951.jpg
[[ 198.  131.]]
train/cat.6703.jpg
[[ 162.  189.]]
train/cat.2318.jpg
[[ 124.  199.]]
train/dog.7739.jpg
[[ 185.  117.]]
train/cat.11879.jpg
[[ 124.  125.]]
train/cat.1926.jpg
[[ 199.  120.]]
train/cat.5627.jpg
[[ 192.  125.]]
train/dog.4771.jpg
[[ 223.  148.]]
train/cat.6908.jpg
[[ 160.   83.]]
train/cat.8448.jpg
[[ 55.  75.]]
train/cat.10277.jpg
[[ 150.  112.]]
train/dog.5808.jpg
[[ 191.  124.]]
train/cat.11096.jpg
[[ 119.  147.]]
train/dog.781.jpg
[[ 139.   92.]]
train/cat.8044.jpg
[[ 200.  149.]]
train/dog.1262.jpg
[[ 195.  120.]]
train/cat.5880.jpg
[[  76.  125.]]
train/cat.10854.jpg
[[ 200.  149.]]
train/dog.4227.jpg
[[ 149.  151.]]
train/cat.8167.jpg
[[ 125.  124.]]
train/cat.8052.jpg
[[ 144.  174.]]
train/cat.877.jpg
[[ 200.  136.]]
train/cat.11957.jpg
[[ 179.  135.]]
train/cat.8319.jpg
[[ 124.  135.]]
train/cat.5839.jpg
[[ 125.  194.]]
train/dog.6170.jpg
[[ 120.  113.]]
train/cat.4362.jpg
[[ 161.  162.]]
train/dog.5378.jpg
[[ 240.  103.]]
train/cat.595.jpg
[[ 376.  143.]]
train/cat.5111.jpg
[[ 66.  50.]]
train/cat.8504.jpg
[[ 104.  199.]]
train/cat.4306.jpg
[[ 200.  132.]]
train/cat.5506.jpg
[[ 190.  144.]]
train/dog.11469.jpg
[[ 139.  104.]]
train/dog.3320.jpg
[[ 162.  161.]]
train/cat.7189.jpg
[[ 107.  108.]]
train/dog.3335.jpg
[[ 118.  198.]]
train/cat.8012.jpg
[[ 142.  212.]]
train/dog.1230.jpg
[[ 160.  195.]]
train/dog.11804.jpg
[[ 195.   33.]]
train/dog.4367.jpg
[[ 191.  149.]]
train/dog.2674.jpg
[[ 154.  180.]]
train/dog.6185.jpg
[[ 200.  138.]]
train/cat.7746.jpg
[[ 145.  231.]]
train/dog.6944.jpg
[[ 114.  146.]]
train/dog.10443.jpg
[[ 119.  191.]]
train/dog.12169.jpg
[[ 135.  134.]]
train/cat.9518.jpg
[[ 145.  116.]]
train/dog.9487.jpg
[[ 200.  149.]]
train/dog.3119.jpg
[[ 154.  152.]]
train/dog.4958.jpg
[[ 300.  108.]]
train/cat.10192.jpg
[[ 159.  227.]]
train/dog.5059.jpg
[[ 150.  199.]]
train/dog.6338.jpg
[[ 138.  200.]]
train/dog.6611.jpg
[[ 86.  68.]]
train/dog.8450.jpg
[[ 199.  123.]]
train/cat.4338.jpg
[[ 184.  134.]]
train/cat.3106.jpg
[[ 181.  147.]]
train/dog.9059.jpg
[[ 149.  238.]]
train/cat.11602.jpg
[[ 157.  106.]]
train/cat.7031.jpg
[[  99.  100.]]
train/dog.2139.jpg
[[ 105.  140.]]
train/dog.7243.jpg
[[ 121.  121.]]
train/cat.1386.jpg
[[ 125.  123.]]
train/cat.2036.jpg
[[ 144.  107.]]
train/dog.6299.jpg
[[ 179.  135.]]
train/dog.2824.jpg
[[ 200.  149.]]
train/cat.719.jpg
[[ 117.  174.]]
train/cat.9033.jpg
[[ 153.  214.]]
train/cat.8726.jpg
[[ 152.  245.]]
train/dog.7853.jpg
[[ 138.  186.]]
train/dog.861.jpg
[[ 150.  149.]]
train/dog.9678.jpg
[[ 105.   79.]]
train/dog.12303.jpg
[[ 150.  199.]]
train/dog.2246.jpg
[[ 158.  136.]]
train/dog.5633.jpg
[[ 150.  112.]]
train/dog.9087.jpg
[[ 125.  251.]]
train/dog.130.jpg
[[ 59.  80.]]
train/dog.927.jpg
[[ 149.  150.]]
train/dog.4428.jpg
[[ 149.  163.]]
train/cat.416.jpg
[[ 150.  149.]]
train/dog.7961.jpg
[[ 168.  140.]]
train/cat.3231.jpg
[[ 250.  128.]]
train/cat.12107.jpg
[[ 130.  129.]]
train/cat.11220.jpg
[[ 300.  131.]]
train/cat.10432.jpg
[[ 122.   80.]]
train/dog.5128.jpg
[[  88.  120.]]
train/cat.8935.jpg
[[ 149.  150.]]
train/cat.2814.jpg
[[ 74.  80.]]
train/cat.4670.jpg
[[ 184.  137.]]
train/cat.4742.jpg
[[ 75.  99.]]
train/dog.10637.jpg
[[ 129.  138.]]
train/dog.5518.jpg
[[ 85.  86.]]
train/cat.10107.jpg
[[ 155.  270.]]
train/cat.1962.jpg
[[ 200.  126.]]
train/cat.10301.jpg
[[ 140.  213.]]
train/dog.6919.jpg
[[ 50.  49.]]
train/cat.10392.jpg
[[ 200.  107.]]
train/cat.453.jpg
[[ 157.  181.]]
train/dog.1745.jpg
[[ 108.  100.]]
train/cat.11485.jpg
[[ 137.  122.]]
train/dog.9414.jpg
[[ 234.  143.]]
train/cat.11501.jpg
[[ 158.  252.]]
train/dog.8396.jpg
[[ 101.  224.]]
train/dog.4113.jpg
[[ 155.  199.]]
train/dog.210.jpg
[[ 150.   99.]]
train/cat.11296.jpg
[[ 134.  161.]]
train/cat.1110.jpg
[[ 119.  100.]]
train/dog.11775.jpg
[[ 155.  190.]]
train/dog.65.jpg
[[  90.  161.]]
train/dog.1259.jpg
[[ 113.  100.]]
train/dog.1546.jpg
[[ 193.  118.]]
train/cat.9783.jpg
[[ 182.  117.]]
train/dog.4087.jpg
[[ 156.  134.]]
train/dog.12081.jpg
[[ 139.  102.]]
train/cat.8507.jpg
[[ 166.  125.]]
train/dog.9424.jpg
[[ 114.   77.]]
train/cat.11504.jpg
[[ 180.  145.]]
train/cat.12063.jpg
[[ 110.  111.]]
train/dog.1197.jpg
[[ 96.  59.]]
train/cat.3641.jpg
[[ 189.  144.]]
train/dog.7785.jpg
[[ 200.  149.]]
train/dog.7478.jpg
[[ 120.  124.]]
train/cat.9837.jpg
[[ 147.  166.]]
train/cat.6964.jpg
[[  99.  104.]]
train/dog.6504.jpg
[[ 159.  160.]]
train/dog.8929.jpg
[[ 124.   94.]]
train/cat.10925.jpg
[[ 185.  143.]]
train/cat.5310.jpg
[[ 149.  166.]]
train/dog.2040.jpg
[[ 105.   94.]]
train/dog.2476.jpg
[[ 162.  198.]]
train/dog.2009.jpg
[[ 143.  119.]]
train/cat.7422.jpg
[[ 139.  129.]]
train/dog.7042.jpg
[[ 133.  109.]]
train/dog.3524.jpg
[[ 150.  149.]]
train/cat.1000.jpg
[[  99.  112.]]
train/cat.7317.jpg
[[ 127.  221.]]
train/dog.3343.jpg
[[ 130.  179.]]
train/cat.6835.jpg
[[ 180.  137.]]
train/cat.3024.jpg
[[ 154.  127.]]
train/dog.8898.jpg
[[ 179.  135.]]
train/dog.7567.jpg
[[ 119.  120.]]
train/cat.9578.jpg
[[ 159.  120.]]
train/dog.1293.jpg
[[ 139.  199.]]
train/dog.12133.jpg
[[ 59.  45.]]
train/dog.1324.jpg
[[ 200.  149.]]
train/dog.8648.jpg
[[ 120.   79.]]
train/dog.5015.jpg
[[ 118.  200.]]
train/dog.1751.jpg
[[ 144.  302.]]
train/dog.10292.jpg
[[ 144.  180.]]
train/cat.3006.jpg
[[ 118.  199.]]
train/dog.9669.jpg
[[ 134.  222.]]
train/dog.10306.jpg
[[ 110.  116.]]
train/cat.11331.jpg
[[ 100.   94.]]
train/dog.7926.jpg
[[ 150.  113.]]
train/cat.1434.jpg
[[ 200.  149.]]
train/dog.2648.jpg
[[ 160.  119.]]
train/dog.11045.jpg
[[ 195.  145.]]
train/cat.3906.jpg
[[  82.  132.]]
train/cat.3716.jpg
[[ 139.   93.]]
train/cat.48.jpg
[[ 100.   74.]]
train/cat.1631.jpg
[[ 167.  124.]]
train/cat.9093.jpg
[[ 159.  199.]]
train/dog.6699.jpg
[[ 184.  117.]]
train/cat.1570.jpg
[[ 73.  50.]]
train/dog.630.jpg
[[ 142.  179.]]
train/cat.7218.jpg
[[ 180.  119.]]
train/dog.8608.jpg
[[  89.  120.]]
train/dog.11119.jpg
[[ 166.  125.]]
train/dog.8096.jpg
[[ 155.  240.]]
train/cat.289.jpg
[[ 199.   91.]]
train/cat.7526.jpg
[[ 149.  105.]]
train/dog.7242.jpg
[[ 99.  74.]]
train/dog.7374.jpg
[[ 83.  96.]]
train/cat.3980.jpg
[[ 143.  188.]]
train/dog.9130.jpg
[[ 140.   95.]]
train/cat.862.jpg
[[  81.  159.]]
train/dog.9517.jpg
[[  98.  149.]]
train/cat.7034.jpg
[[ 150.   93.]]
train/dog.5921.jpg
[[ 149.  174.]]
train/cat.829.jpg
[[ 150.  132.]]
train/dog.1906.jpg
[[ 182.   92.]]
train/cat.11263.jpg
[[ 144.  139.]]
train/dog.9480.jpg
[[ 150.  146.]]
train/cat.9394.jpg
[[ 199.  140.]]
train/cat.1138.jpg
[[ 149.  149.]]
train/dog.10383.jpg
[[ 131.  154.]]
train/dog.10652.jpg
[[ 146.  169.]]
train/cat.5478.jpg
[[ 140.  103.]]
train/cat.10238.jpg
[[ 102.   99.]]
train/dog.6301.jpg
[[  99.  149.]]
train/cat.575.jpg
[[ 95.  72.]]
train/cat.5954.jpg
[[ 180.  134.]]
train/cat.10028.jpg
[[ 166.  125.]]
train/cat.11571.jpg
[[ 150.  199.]]
train/dog.10101.jpg
[[ 150.  112.]]
train/dog.8041.jpg
[[ 200.  149.]]
train/cat.5764.jpg
[[ 141.  174.]]
train/dog.176.jpg
[[ 232.  138.]]
train/dog.11299.jpg
[[ 134.  113.]]
train/cat.3886.jpg
[[ 299.  140.]]
train/cat.7758.jpg
[[  99.  106.]]
train/dog.1353.jpg
[[ 160.  200.]]
train/dog.414.jpg
[[ 95.  72.]]
train/dog.7772.jpg
[[  95.  208.]]
train/dog.2874.jpg
[[ 119.  141.]]
train/cat.1874.jpg
[[ 144.  136.]]
train/dog.8632.jpg
[[ 237.  147.]]
train/cat.7402.jpg
[[ 200.  149.]]
train/dog.10798.jpg
[[ 150.  199.]]
train/cat.2906.jpg
[[ 149.   97.]]
train/cat.9703.jpg
[[  98.  125.]]
train/dog.8539.jpg
[[ 140.   96.]]
train/cat.7588.jpg
[[ 160.  304.]]
train/dog.9419.jpg
[[ 140.  200.]]
train/cat.5622.jpg
[[ 200.  149.]]
train/cat.9596.jpg
[[ 160.  119.]]
train/cat.8184.jpg
[[ 130.  212.]]
train/cat.9297.jpg
[[ 59.  45.]]
train/cat.5527.jpg
[[ 143.  160.]]
train/cat.10435.jpg
[[ 99.  75.]]
train/cat.10893.jpg
[[ 180.  146.]]
train/dog.11991.jpg
[[ 121.  243.]]
train/dog.2600.jpg
[[ 125.  135.]]
train/cat.3779.jpg
[[ 150.  149.]]
train/cat.9219.jpg
[[ 161.  162.]]
train/dog.5886.jpg
[[ 150.  180.]]
train/cat.7986.jpg
[[ 259.  140.]]
train/dog.1604.jpg
[[  98.  125.]]
train/dog.9188.jpg
[[ 119.  160.]]
train/dog.7128.jpg
[[ 134.  197.]]
train/dog.8637.jpg
[[ 159.  120.]]
train/dog.8063.jpg
[[ 99.  77.]]
train/dog.12185.jpg
[[ 129.  103.]]
train/dog.9855.jpg
[[ 200.  118.]]
train/cat.9584.jpg
[[ 180.  129.]]
train/cat.49.jpg
[[ 99.  94.]]
train/cat.485.jpg
[[ 140.  113.]]
train/cat.8942.jpg
[[ 99.  63.]]
train/dog.7765.jpg
[[ 137.  250.]]
train/cat.1533.jpg
[[  93.  123.]]
train/dog.10989.jpg
[[ 149.  200.]]
train/cat.10962.jpg
[[ 113.  207.]]
train/cat.5721.jpg
[[ 251.  113.]]
train/dog.516.jpg
[[ 96.  70.]]
train/cat.8087.jpg
[[ 149.  113.]]
train/cat.1407.jpg
[[ 141.  170.]]
train/dog.9570.jpg
[[ 149.  261.]]
train/cat.10590.jpg
[[  84.  113.]]
train/dog.6733.jpg
[[ 99.  37.]]
train/dog.11248.jpg
[[ 130.  252.]]
train/dog.12266.jpg
[[ 67.  49.]]
train/dog.7011.jpg
[[ 200.  149.]]
train/dog.2705.jpg
[[  78.  107.]]
train/dog.9512.jpg
[[ 162.  177.]]
train/cat.8294.jpg
[[ 149.  191.]]
train/cat.11466.jpg
[[ 118.  149.]]
train/dog.2892.jpg
[[ 54.  89.]]
train/cat.7487.jpg
[[ 159.  101.]]
train/cat.3063.jpg
[[ 160.  105.]]
train/cat.6868.jpg
[[ 167.  124.]]
train/cat.3376.jpg
[[ 180.  134.]]
train/cat.9545.jpg
[[ 96.  71.]]
train/dog.10155.jpg
[[ 105.  110.]]
train/dog.81.jpg
[[ 149.  150.]]
train/dog.4507.jpg
[[ 149.  233.]]
train/cat.4849.jpg
[[ 181.  121.]]
train/cat.9651.jpg
[[ 160.  119.]]
train/cat.5736.jpg
[[ 179.  127.]]
train/cat.8280.jpg
[[ 150.  200.]]
train/cat.3755.jpg
[[ 198.  149.]]
train/cat.5297.jpg
[[ 147.  318.]]
train/dog.1985.jpg
[[ 173.  125.]]
train/dog.7201.jpg
[[ 149.  200.]]
train/dog.3542.jpg
[[ 200.  149.]]
train/cat.737.jpg
[[ 180.  120.]]
train/dog.4837.jpg
[[ 180.  104.]]
train/cat.11471.jpg
[[ 149.  113.]]
train/cat.3398.jpg
[[  89.  200.]]
train/cat.3567.jpg
[[ 159.  288.]]
train/cat.4358.jpg
[[ 150.  224.]]
train/cat.10532.jpg
[[ 207.  104.]]
train/dog.1920.jpg
[[ 200.  149.]]
train/cat.274.jpg
[[ 149.  113.]]
train/dog.8762.jpg
[[ 136.  118.]]
train/cat.11342.jpg
[[ 125.  199.]]
train/dog.7652.jpg
[[ 99.  75.]]
train/cat.4629.jpg
[[ 132.  200.]]
train/dog.4662.jpg
[[ 200.  128.]]
train/cat.4279.jpg
[[ 200.  149.]]
train/cat.3269.jpg
[[ 139.   93.]]
train/cat.7312.jpg
[[ 96.  64.]]
train/dog.3074.jpg
[[ 150.  199.]]
train/dog.1203.jpg
[[ 199.  134.]]
train/dog.9750.jpg
[[ 160.  134.]]
train/dog.232.jpg
[[ 189.  144.]]
train/cat.6333.jpg
[[ 176.  143.]]
train/dog.5285.jpg
[[ 152.  222.]]
train/dog.1960.jpg
[[ 134.  133.]]
train/cat.4994.jpg
[[ 151.  179.]]
train/cat.9286.jpg
[[ 140.  103.]]
train/cat.10175.jpg
[[ 135.  163.]]
train/dog.2660.jpg
[[ 218.  144.]]
train/cat.12286.jpg
[[ 141.  128.]]
train/dog.6858.jpg
[[ 206.  147.]]
train/cat.1904.jpg
[[ 200.  149.]]
train/dog.5606.jpg
[[ 299.  128.]]
train/cat.2227.jpg
[[ 153.  180.]]
train/dog.9593.jpg
[[ 179.  135.]]
train/dog.2018.jpg
[[ 57.  50.]]
train/dog.7421.jpg
[[ 162.  298.]]
train/dog.2676.jpg
[[ 108.  143.]]
train/dog.5623.jpg
[[ 150.   96.]]
train/cat.8709.jpg
[[ 200.  149.]]
train/cat.6132.jpg
[[ 149.  200.]]
train/dog.3731.jpg
[[ 200.   93.]]
train/cat.3250.jpg
[[ 150.  135.]]
train/cat.8007.jpg
[[ 135.  160.]]
train/cat.8144.jpg
[[ 136.  228.]]
train/dog.4800.jpg
[[ 189.  129.]]
train/cat.10272.jpg
[[ 225.  146.]]
train/cat.3810.jpg
[[ 116.  150.]]
train/cat.4081.jpg
[[ 139.  119.]]
train/cat.9662.jpg
[[ 111.  199.]]
train/dog.1980.jpg
[[ 200.  149.]]
train/dog.11176.jpg
[[ 128.  133.]]
train/cat.8200.jpg
[[ 200.  149.]]
train/dog.5604.jpg
[[ 123.  150.]]
train/dog.6386.jpg
[[ 74.  75.]]
train/cat.3739.jpg
[[ 186.  138.]]
train/dog.11304.jpg
[[ 156.  263.]]
train/cat.9194.jpg
[[ 60.  63.]]
train/dog.11465.jpg

Sanitize images

Remove the edge case images (smallest and of extreme aspect)


In [12]:
#sanitize train images

train_images_sane = [train_images[i] for i in xrange(len(train_images)) 
                if i not in low_pct_aspect_indices and i not in high_pct_aspect_indices and i not in small_images_indices]

In [13]:
print ("Filtered images: %s+%s+%s" % (len(low_pct_aspect_indices), len(high_pct_aspect_indices), len(small_images_indices)))
insane_indices=np.union1d(np.union1d(low_pct_aspect_indices,small_images_indices),high_pct_aspect_indices)
print ("Filtered in total: ", len(insane_indices))
print ("Remaining images in trainign set:", len(train_images_sane))


Filtered images: 77+135+1029
Filtered in total:  1186
Remaining images in trainign set: 23814

In [22]:
from scipy.ndimage.filters import gaussian_filter
def show_image(filepath):
    img = io.imread(filepath)
    new_img = np.array(imresize(img, (IMAGE_SIZE, IMAGE_SIZE), interp='bicubic'))
    
    plt.imshow(new_img)
    plt.show()
    #plt.imshow(gaussian_filter(new_img,sigma=1))
    #plt.show()
    plt.imshow(np.fliplr(new_img))
    plt.show()
    plt.imshow(np.rot90(new_img))
    plt.show()
    
    return new_img

img=show_image(train_images_sane[1223])
print(train_images_sane[1223])
img=show_image(train_images[24969])
print(train_images[24969])
img.shape


train/cat.917.jpg
train/dog.11465.jpg
Out[22]:
(224, 224, 3)

In [39]:
pickle_file = 'catfish.pickle'

try:
  f = open(pickle_file, 'wb')
  save = {
    'train_images': train_images,
    'train_images_sane': train_images_sane,
    'insane_indices': insane_indices,
    'test_images': test_images,
    }
  pickle.dump(save, f, pickle.HIGHEST_PROTOCOL)
  f.close()
except Exception as e:
  print('Unable to save data to', pickle_file, ':', e)
  raise
    
statinfo = os.stat(pickle_file)
print('Compressed pickle size:', statinfo.st_size)


Compressed pickle size: 1006591

In [15]:
def read_image(filepath):
    img = io.imread(filepath)
    new_img = np.array(imresize(img, (IMAGE_SIZE, IMAGE_SIZE), interp='bicubic'))
    return new_img

X_train = np.array([read_image(train_images_sane[i]) for i in xrange(len(train_images_sane))])
Y_train = np.array([int('dog' in train_images_sane[i]) for i in xrange(len(train_images_sane))])

X_train = X_train.astype('float32')
X_train /= 255

In [16]:
X_verify = np.array([read_image(train_images[i]) for i in insane_indices])
Y_verify = np.array([int('dog' in train_images[i]) for i in insane_indices])

X_verify = X_verify.astype('float32')
X_verify /= 255

In [23]:
def randomize(dataset, labels):
  permutation = np.random.permutation(labels.shape[0])
  shuffled_dataset = dataset[permutation,:,:]
  shuffled_labels = labels[permutation]
  return shuffled_dataset, shuffled_labels

#X_train, Y_train = randomize(X_train, Y_train)
#X_verify, Y_verify = randomize(X_verify, Y_verify)

In [31]:
random_image=np.random.choice(len(train_images_sane))
plt.imshow(X_train[random_image])
print(Y_train[random_image])


0

In [33]:
random_image=np.random.choice(len(insane_indices))
plt.imshow(X_verify[random_image])
print(Y_verify[random_image])


0

In [1]:
from PIL import Image
image = image.resize((1600, 900), PIL.Image.LANCZOS)



NameErrorTraceback (most recent call last)
<ipython-input-1-552751a9d0ec> in <module>()
      1 from PIL import Image
----> 2 image = image.resize((1600, 900), PIL.Image.LANCZOS)

NameError: name 'image' is not defined

In [ ]: